function jsRegexToVscode(jsRegex) {
  // 移除正则表达式外围的定界符（如果有的话）
  const regexSource = jsRegex.source.replace(/^\/(.*)\/$/, '$1');
  // 转义VSCode中需要转义的特殊字符
  const vscodeRegex = regexSource
      .replace(/\\/g, '\\\\') // 转义反斜杠
      .replace(/\$/g, '\\$')  // 转义美元符号（代表匹配的结束）
      .replace(/\^/g, '\\^')  // 转义up caret（代表字符串的开始）
      .replace(/\./g, '\\.')  // 转义点号（代表任意单个字符）
      .replace(/\[/g, '\\[')  // 转义开括号
      .replace(/\]/g, '\\]')  // 转义闭括号
      .replace(/\(/g, '\\(')  // 转义开括号
      .replace(/\)/g, '\\)')  // 转义闭括号
      .replace(/\|/g, '\\|')  // 转义管道符号（代表“或”）
      .replace(/\?/g, '\\?')  // 转义问号（代表前面的字符出现0次或1次）
      .replace(/\+/g, '\\+')  // 转义加号（代表前面的字符出现1次或多次）
      .replace(/\*/g, '\\*')  // 转义星号（代表前面的字符出现0次或多次）
      .replace(/\{/g, '\\{')  // 转义开括号
      .replace(/\}/g, '\\}'); // 转义闭括号
  return vscodeRegex;
}

// 示例
const jsRegex = /v-track=['"](\{[^\}]*\})['"]/g;
const vscodeRegex = jsRegexToVscode(jsRegex);
console.log(vscodeRegex); // 输出转换后的VSCode正则表达式字符串
